package com.jrwd.recycletest;


import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;

import com.jrwd.recycletest.util.CacheUtil;

/**
 * 一些dialog的封装工具类
 */
public class DialogUtils {
    public static Dialog dialog;
    private static TextView name_dialog;
    private static boolean flag_check;
    private static int count = 60;
    private static int enterance = 1;
    private static CacheUtil cacheUtil;

    private static String mobile;
    private static String code;
    private static String idNum;
    private static String realName;
    private static int gender;
    private static int age;
    private static UserRes.DataBean user;


    private static String requestMoney;
//    public static Dialog getInstance(Context context) {
//               if (dialog == null) {
//                   synchronized (Dialog.class) {
//                                if (dialog == null) {
//                                       dialog = new Dialog(context,R.style.custom_dialog);
//                                    }
//                          }
//                    }
//                return dialog;
//    }

    /**
     * Loding加载动画（DIY内容）
     */
    public static void showLoadingDialog(Context context, String text) {
        dialog = new Dialog(context, R.style.progressBar_LodingDialog);
        dialog.setContentView(R.layout.v_loading_dialog);
        name_dialog = (TextView) dialog.findViewById(R.id.textView_loding_dialog);
        name_dialog.setText(text);
        //为true点击对话框以外时候ProgressDialog就会关闭反之不关
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();
    }

    public static void showLoadingDialog(Context context) {
        showLoadingDialog(context, "卖力加载中...");

    }

//    public static void showGetCheckCodeDialog(final Activity activity, final String mobilePhone, final OnDialogClickListener mListener) {
//        dialog = new Dialog(activity, R.style.custom_dialog);
//        dialog.setContentView(R.layout.check_code_dialog);
//        dialog.setCancelable(false);
//        count=60;
//        final Handler handler = new Handler();
//        TextView tv_mobile = (TextView) dialog.findViewById(R.id.tv_mobilePhone);
//        final EditText et_code = (EditText) dialog.findViewById(R.id.myEditText);
//        TextView btn_cancel = (TextView) dialog.findViewById(R.id.btn_cancel);
//        TextView btn_sure = (TextView) dialog.findViewById(R.id.btn_sure);
//        final TextView tv_getCode= (TextView) dialog.findViewById(R.id.tv_getCode);
//        final Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                count--;
//                if(count==0){
//                    tv_getCode.setEnabled(true);
//                    tv_getCode.setText("获取验证码");
//                    count=60;
//                }else{
//                    tv_getCode.setText(count+"s后重发");
//                    handler.postDelayed(this,1000);
//                }
//            }
//        };
//
//        tv_mobile.setText(mobilePhone);
//        tv_getCode.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if(tv_getCode.isEnabled()){
//                    tv_getCode.setEnabled(false);
//                    handler.postDelayed(runnable,1000);
//                    CommonUtil.getCheckCode(activity,mobilePhone);
//                }
//            }
//        });
//
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                mListener.onCancel(dialog);
//            }
//        });
//        btn_sure.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//
//                if(TextUtils.isEmpty(et_code.getText().toString())){
//                    Toast.makeText(activity,"验证码不能为空", Toast.LENGTH_SHORT).show();
//                    return;
//                }else {
//                    code = et_code.getText().toString();
//                    mListener.onSure(dialog,code);
//                }
//            }
//        });
//
//       dialog.setOnShowListener(new DialogInterface.OnShowListener() {
//           @Override
//           public void onShow(DialogInterface dialog) {
//               tv_getCode.setEnabled(false);
//               handler.postDelayed(runnable,1000);
//           }
//       });
//
//        dialog.show();
//
//    }
//

//    public static void showWeChatDialog(final Context context) {
//        cacheUtil = CacheUtil.get(context);
//        dialog = new Dialog(context, R.style.custom_dialog);
//        dialog.setContentView(R.layout.wechat_dialog);
//        TextView btn_cancel = (TextView) dialog.findViewById(R.id.btn_cancel);
//        TextView btn_sure = (TextView) dialog.findViewById(R.id.btn_sure);
//        TextView tv_title = (TextView) dialog.findViewById(R.id.tv_title);
//        String title = "公众号文本已复制到剪切板，打开微信>点击搜索框>粘贴>搜一搜<font color='#E25758'>jiehhua</font>，就能关注神奇的借花花公众号啦!";
//        tv_title.setText(Html.fromHtml(title));
//
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//
//            }
//        });
//        btn_sure.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                ClipboardManager clip = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
//                clip.setText("jiehhua");
//                try {
//                    StatisticsBean statisticsBean=(StatisticsBean)cacheUtil.getAsObject("staticsBean");
//                    if(statisticsBean==null){
//
//                        statisticsBean  = new StatisticsBean();
//                    }
//                    statisticsBean.go_weChat_times++;
//                    Log.e("goWeChatTimes-->",statisticsBean.go_weChat_times+"");
//                    cacheUtil.put("staticsBean",statisticsBean);
//
//                    Intent intent = new Intent(Intent.ACTION_MAIN);
//                    ComponentName cmp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");
//
//                    intent.addCategory(Intent.CATEGORY_LAUNCHER);
//                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//                    intent.setComponent(cmp);
//                    context.startActivity(intent);
//                } catch (ActivityNotFoundException e) {
//
//                    Toast.makeText(context, "检查到您手机没有安装微信，请安装后使用该功能", Toast.LENGTH_LONG).show();
//
//                }
//                dismiss();
//            }
//        });
//        dialog.show();
//
//    }

//
//    public static void showEvaluateDialog(Context context, final OnDialogListener mListner) {
//
//        dialog = new Dialog(context, R.style.custom_dialog);
//        dialog.setContentView(R.layout.evaluate_dialog);
//        TextView btn_cancel = (TextView) dialog.findViewById(R.id.btn_cancel);
//        TextView btn_sure = (TextView) dialog.findViewById(R.id.btn_sure);
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//            }
//        });
//        btn_sure.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//                mListner.onSure();
//            }
//        });
//        dialog.show();
//
//    }
//
//    public static void showApplySuccessDialog(Context context) {
//
//        dialog = new Dialog(context, R.style.custom_dialog);
//        dialog.setContentView(R.layout.applysuccess_dialog);
//        Drawable drawable = context.getResources().getDrawable(R.mipmap.apply_sucess_iv);
//        int width=dialog.getWindow().getWindowManager().getDefaultDisplay().getWidth();
//        Bitmap bitmap = Bitmap.createBitmap(width+45,DensityUtil.dip2px(context,100), Bitmap.Config.ARGB_8888);
//        Canvas canvas = new Canvas(bitmap);
//        drawable.setBounds(0, 0, width+45,DensityUtil.dip2px(context,100));
//        drawable.draw(canvas);
//        ImageView imageView = (ImageView) dialog.findViewById(R.id.iv_success);
//        imageView.setImageBitmap( BitmapFillet.fillet(BitmapFillet.TOP,bitmap,DensityUtil.dip2px(context,10)));
//        TextView btn_cancel = (TextView) dialog.findViewById(R.id.btn_cancel);
//        TextView btn_sure = (TextView) dialog.findViewById(R.id.btn_sure);
//        btn_cancel.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//            }
//        });
//        btn_sure.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//            }
//        });
//        dialog.show();
//
//
//    }
//
//    public static void showChooseProDialog(Context context, final List<Product> mList, final List<Product> seletedList, final OnDialogListener mListener) {
//        flag_check = false;
//
//        final Drawable unselDraw = context.getResources().getDrawable(R.mipmap.check_up);
//        final Drawable selDraw = context.getResources().getDrawable(R.mipmap.check_down);
//
//        dialog = new Dialog(context, R.style.custom_dialog);
//        dialog.setContentView(R.layout.choosepro_dialog);
//        final TextView noPro = (TextView) dialog.findViewById(R.id.noPro);
//        noPro.setText("均未贷过");
//        noPro.setCompoundDrawablePadding(DensityUtil.dip2px(context,5));
//        noPro.setGravity(Gravity.CENTER);
//        noPro.setCompoundDrawablesWithIntrinsicBounds(unselDraw, null, null, null);
//        GridView gridView = (GridView) dialog.findViewById(R.id.gridView);
//
//        final ProDialogAdapter proDialogAdapter = new ProDialogAdapter(mList, context, new ProDialogAdapter.OnCheckListener() {
//            @Override
//            public void onCheck(int position) {
//                if (seletedList.contains(mList.get(position))) {
//                    seletedList.remove(mList.get(position));
//                } else {
//                    seletedList.add(mList.get(position));
//                }
//                if (seletedList.size() > 0) {
//                    flag_check = false;
//                    noPro.setCompoundDrawablesWithIntrinsicBounds(unselDraw, null, null, null);
//                }
//            }
//        });
//        proDialogAdapter.setSelectedList(seletedList);
//        gridView.setAdapter(proDialogAdapter);
//        noPro.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (!flag_check) {
//                    noPro.setCompoundDrawablesWithIntrinsicBounds(selDraw, null, null, null);
//                    flag_check = true;
//                    proDialogAdapter.delSelData();
//                } else {
//                    noPro.setCompoundDrawablesWithIntrinsicBounds(unselDraw, null, null, null);
//                    flag_check = false;
//                }
//
//
//            }
//        });
//        dialog.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dialog.dismiss();
//            }
//        });
//        dialog.findViewById(R.id.btn_sure).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dialog.dismiss();
//                mListener.onSure();
//            }
//        });
//
//        dialog.show();
//
//
//    }
//
//    public static void showHasApplyDialog(final Activity activity, final OnDialogListener mListener){
//        dialog = new Dialog(activity,R.style.custom_dialog);
//        dialog.setContentView(R.layout.hasapply_dialog);
//        TextView btn_cance = (TextView) dialog.findViewById(R.id.btn_cancel);
//        TextView btn_sure = (TextView) dialog.findViewById(R.id.btn_sure);
//        btn_cance.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//               activity.finish();
//            }
//        });
//        btn_sure.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                dismiss();
//                mListener.onSure();
//
//            }
//        });
//        dialog.show();
//    }
//
//    public static void showLoanLandDialog(final Activity activity, final int flag) {
//
//        final LoadingDialog loadingDialog=new LoadingDialog(activity,"申请中...");
//        enterance =1;
//        if(cacheUtil==null){
//            cacheUtil = CacheUtil.get(activity);
//        }
//        if (dialog == null) {
//            dialog = new Dialog(activity, R.style.custom_dialog);
//            dialog.setContentView(R.layout.loan_land_dialog);
//            dialog.setCancelable(true);
//            count= 60;
//        }
//        final Handler handler = new Handler();
//        RadioButton rbWorker = (RadioButton) dialog.findViewById(R.id.rb_worker);
//        RadioButton rbEnterprise = (RadioButton) dialog.findViewById(R.id.rb_enterprise);
//        RadioButton rbStudents = (RadioButton) dialog.findViewById(R.id.rb_students);
//        RadioButton rbFreedom = (RadioButton) dialog.findViewById(R.id.rb_freedom);
//        RadioGroup rgId = (RadioGroup) dialog.findViewById(R.id.rg_id);
//        Button btnEnteripse =(Button) dialog.findViewById(R.id.btn_enteripse);
//        final MyEditText etApplyNum = (MyEditText) dialog.findViewById(R.id.et_applyNum);
//        final MyEditText etPhone =(MyEditText) dialog.findViewById(R.id.et_phone);
//        final MyEditText etId  = (MyEditText) dialog.findViewById(R.id.et_id);
//        final MyEditText etRealName = (MyEditText) dialog.findViewById(R.id.et_realName);
//        final MyEditText et_checkCode = (MyEditText) dialog.findViewById(R.id.et_checkCode);
//        final TextView tv_getCode = (TextView) dialog.findViewById(R.id.tv_getCode);
//
//        final Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                count--;
//                if (count == 0) {
//                    tv_getCode.setEnabled(true);
//                    tv_getCode.setText("获取验证码");
//                    count = 60;
//                } else {
//                    tv_getCode.setText(count + "s后重发");
//                    handler.postDelayed(this, 1000);
//                }
//            }
//        };
//        if(tv_getCode != null){
//            tv_getCode.setOnClickListener(new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                    if (tv_getCode.isEnabled()) {
//                        mobile = etPhone.getText().toString();
//                        if (!TextUtils.isEmpty(mobile)) {
//                            if(!CommonUtil.isMobileNO(mobile)){
//                                ToastUtils.showToast(activity,"手机号码非法");
//                                return;
//                            }
//                            handler.postDelayed(runnable, 1000);
//                            tv_getCode.setEnabled(false);
//                            CommonUtil.getCheckCode(activity, mobile,et_checkCode);
//                        } else {
//                            ToastUtils.showToast(activity, "手机号码不能为空");
//                            return;
//                        }
//                    }
//                }
//            });
//        }
//        TextView btnApply = (TextView) dialog.findViewById(R.id.btn_apply);
//        final CheckBox checkbox = (CheckBox) dialog.findViewById(R.id.checkbox);
//        TextView btnAgreeItems = (TextView) dialog.findViewById(R.id.btn_agreeItems);
//
//        final ImageView btn_worker = (ImageView) dialog.findViewById(R.id.iv_worker);
//
//        final ImageView btn_enteripse = (ImageView) dialog.findViewById(R.id.iv_enteripse);
//
//        final ImageView btn_freedom = (ImageView) dialog.findViewById(R.id.iv_freedom);
//
//        final ImageView btn_student  = (ImageView) dialog.findViewById(R.id.iv_student);
//        btnAgreeItems.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                Intent intent = new Intent(activity,WebViewAct.class);
//                intent.putExtra("title","贷款宝典服务条款");
//                intent.putExtra("url", Api2.INLINE_AGREEMENT);
//                activity.startActivity(intent);
//            }
//        });
//
//        rgId.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(RadioGroup group, int checkedId) {
//                switch (checkedId){
//                    case R.id.rb_enterprise:
//                        btn_worker.setVisibility(View.GONE);
//                        btn_enteripse.setVisibility(View.VISIBLE);
//                        btn_freedom.setVisibility(View.GONE);
//                        btn_student.setVisibility(View.GONE);
//
//                        enterance=2;
//                        break;
//                    case R.id.rb_worker:
//                        btn_worker.setVisibility(View.VISIBLE);
//                        btn_enteripse.setVisibility(View.GONE);
//                        btn_freedom.setVisibility(View.GONE);
//                        btn_student.setVisibility(View.GONE);
//                        enterance=1;
//                        break;
//                    case R.id.rb_freedom:
//                        btn_worker.setVisibility(View.GONE);
//                        btn_enteripse.setVisibility(View.GONE);
//                        btn_freedom.setVisibility(View.GONE);
//                        btn_student.setVisibility(View.VISIBLE);
//
//                        enterance=4;
//                        break;
//                    case R.id.rb_students:
//                        btn_worker.setVisibility(View.GONE);
//                        btn_enteripse.setVisibility(View.GONE);
//                        btn_freedom.setVisibility(View.VISIBLE);
//                        btn_student.setVisibility(View.GONE);
//                        enterance =3;
//                        break;
//
//                }
//            }
//        });
//        rgId.check(R.id.rb_worker);
//
//        btnApply.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (!checkbox.isChecked()) {
//
//                    ToastUtils.showToast(activity, "请先阅读并同意贷款宝典服务条款");
//                    return;
//                }
//
//                if (TextUtils.isEmpty(etPhone.getText().toString()) || TextUtils.isEmpty(etId.getText().toString()) || TextUtils.isEmpty(etRealName.getText().toString())) {
//                    ToastUtils.showToast(activity, "填写的信息不能为空");
//                    return;
//                } else {
//                    mobile = etPhone.getText().toString();
//                    idNum = etId.getText().toString();
//                    realName = etRealName.getText().toString();
//                    if (!CommonUtil.isMobileNO(mobile)) {
//                        ToastUtils.showToast(activity, "手机号格式不合法");
//                        return;
//                    }
//                    if (!CommonUtil.isIdNO(idNum)) {
//
//                        ToastUtils.showToast(activity, "身份证号码不合法");
//                        return;
//                    }
//                    if (Integer.parseInt(etApplyNum.getText().toString().replace(",", "")) < 1000) {
//                        ToastUtils.showToast(activity, "申请金额最小为1000");
//                        return;
//                    }
//                    if(TextUtils.isEmpty(et_checkCode.getText().toString())){
//                        ToastUtils.showToast(activity,"验证码不能为空");
//
//                    }
//
//                    gender = Integer.parseInt(idNum.charAt(16) + "") % 2 == 0 ? 2 : 1;
//                    int year = Integer.parseInt(idNum.substring(6, 10));
//                    Calendar calendar = Calendar.getInstance();
//                    age = calendar.get(Calendar.YEAR) - year;
//
//
//                }
//                JSONObject json = new JSONObject();
//                try {
//                    json.put("mobile", mobile);
//                    json.put("apply_loan_amount", etApplyNum.getText().toString());
//                    json.put("category", enterance+"");
//                    json.put("captcha",et_checkCode.getText().toString());
//                    json.put("id_no", idNum);
//                    json.put("real_name", realName);
//                    json.put("age",age);
//                    json.put("gender", gender);
//                    json.put("city", cacheUtil.getAsString("locationCity"));
//                }catch (JSONException e){
//                    ToastUtils.showToast(activity,e.getMessage());
//                }
//                OkHttpUtil.postLock(Api2.FIRST_PAGE_LOGIN, json, new OkHttpUtil.MyLockListener() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//
//                        loadingDialog.dismiss();
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response, String strBody) throws IOException {
//                        loadingDialog.dismiss();
//                        if(response.isSuccessful()){
//                            final UserRes userResp= JSON.parseObject(strBody,UserRes.class);
//                            if(userResp.isOk()){
//                                cacheUtil.remove("user_info");
//                                cacheUtil.put("user_info",userResp.getData());
//                                if(userResp.getData().getReg_login().equals("1")){
//                                    CommonUtil.countNum(activity, userResp.getData().getUid(), "", "", "", 1, 0,"","");
//                                    CommonUtil.countNum(activity, userResp.getData().getUid(), "", "", "", 2, 0,
//                                            userResp.getData().getReg_platform(), userResp.getData().getH5_channel_no());
//                                }else{
//                                    CommonUtil.countNum(activity, userResp.getData().getUid(), "", "", "", 2, 0,
//                                            userResp.getData().getReg_platform(), userResp.getData().getH5_channel_no());
//                                }
//
//                                if(flag==1) {
//                                    Intent intent = new Intent(activity, ProductListAct.class);
//                                    activity.startActivity(intent);
//                                }else if(flag == 2){
//                                    Intent intent_second = new Intent(activity,SecondAccurateAct.class);
//                                    intent_second.putExtra("enterance",enterance);
//                                    activity.startActivity(intent_second);
//                                }
//                                dialog.dismiss();
//
//                            }else{
//                                activity.runOnUiThread(new Runnable() {
//                                    @Override
//                                    public void run() {
//                                        ToastUtils.showToast(activity,userResp.message);
//                                    }
//                                });
//                            }
//
//                        }
//                    }
//
//                    @Override
//                    public void onStart() {
//
//                        loadingDialog.show();
//                    }
//                },activity);
//
//            }
//
//
//        });
//        dialog.show();
//
//    }
//

    public static void showCommonDialog(Activity activity, String title, String content, String leftBtnText, String rightBtnText, final OnDialogListener mListener){
        dialog = new Dialog(activity, R.style.custom_dialog);
        dialog.setContentView(R.layout.common_dialog);
        TextView tv_title = (TextView) dialog.findViewById(R.id.tv_title);
        TextView tv_content = (TextView) dialog.findViewById(R.id.tv_content);
        TextView btn_left = (TextView) dialog.findViewById(R.id.btn_cancel);
        TextView btn_right = (TextView) dialog.findViewById(R.id.btn_sure);
        View divider_view = dialog.findViewById(R.id.diver_view);
        tv_title.setText(title);
        tv_content.setText(content);
        dialog.setCancelable(false);
        dialog.setCanceledOnTouchOutside(false);
        if (TextUtils.isEmpty(leftBtnText)) {
            btn_left.setVisibility(View.GONE);
            divider_view.setVisibility(View.GONE);
        } else {
            btn_left.setText(leftBtnText);

        }
        if (!TextUtils.isEmpty(rightBtnText)) {
            btn_right.setText(rightBtnText);
        }
        btn_left.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

        btn_right.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
                if (mListener != null) {
                    mListener.onSure();
                }
            }
        });
        dialog.show();
    }



    /**
     * Dialog消失
     */
    public static void dismiss() {
        if (dialog != null && dialog.isShowing()) {
            dialog.cancel();
            dialog = null;
        }
    }

    public interface OnDialogClickListener{
        public void onCancel(Dialog dialog);
        public void onSure(Dialog dialog);
        public void onSure(Dialog dialog, String code);

    }

    public interface OnDialogTwoSideListener{
        public void onCancel();
        public void onSure();

    }
    public interface OnDialogListener{
        public void onSure();

    }
    public interface OnCallBrokerListner{

        public void onSure(String mobile, String capthca, String apply_amount);

    }

}
